package com.example.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Map;

public class FlTrainingTask implements Serializable {
    private static final long serialVersionUID = 1L;

    private String taskId;
    private String splitMethod;
    private Integer batchSize;
    private Integer aggregationRounds;
    private String modelPath;
    private String status;
    private Timestamp createdAt;
    private Integer port;
    private BigDecimal learningRate;
    private Integer epochs;
    private String optimizer;
    private String lossFunction;
    private Map<String, Object> advancedConfig;

    // Getters and Setters
    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    public String getSplitMethod() {
        return splitMethod;
    }

    public void setSplitMethod(String splitMethod) {
        this.splitMethod = splitMethod;
    }

    public Integer getBatchSize() {
        return batchSize;
    }

    public void setBatchSize(Integer batchSize) {
        this.batchSize = batchSize;
    }

    public Integer getAggregationRounds() {
        return aggregationRounds;
    }

    public void setAggregationRounds(Integer aggregationRounds) {
        this.aggregationRounds = aggregationRounds;
    }

    public String getModelPath() {
        return modelPath;
    }

    public void setModelPath(String modelPath) {
        this.modelPath = modelPath;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Timestamp getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Timestamp createdAt) {
        this.createdAt = createdAt;
    }

    public Integer getPort() {
        return port;
    }

    public void setPort(Integer port) {
        this.port = port;
    }

    public BigDecimal getLearningRate() {
        return learningRate;
    }

    public void setLearningRate(BigDecimal learningRate) {
        this.learningRate = learningRate;
    }

    public Integer getEpochs() {
        return epochs;
    }

    public void setEpochs(Integer epochs) {
        this.epochs = epochs;
    }

    public String getOptimizer() {
        return optimizer;
    }

    public void setOptimizer(String optimizer) {
        this.optimizer = optimizer;
    }

    public String getLossFunction() {
        return lossFunction;
    }

    public void setLossFunction(String lossFunction) {
        this.lossFunction = lossFunction;
    }

    public Map<String, Object> getAdvancedConfig() {
        return advancedConfig;
    }

    public void setAdvancedConfig(Map<String, Object> advancedConfig) {
        this.advancedConfig = advancedConfig;
    }
}